package com.meeruu.sg.account.core.api.service;

import com.meeruu.common.model.result.BaseRpcResult;
import com.meeruu.sg.account.core.api.constant.AccountType;
import com.meeruu.sg.account.core.api.dto.request.oper.*;

import java.util.List;
import java.util.Map;

/**
 * @Auther: liwu
 * @Date: 2019/5/15 14:07
 * @Description:
 */
public interface IAccountHandleService extends AccountCoreFacadeBase {


    /**
     * 开户接口（需验证已开户的不需要再开）
     */
    BaseRpcResult<String> openAccount(OpenAccountRequest request);


    /***
     * 账户拉黑，撤销
     * 账户冻结，解冻（需要幂等判断）
     */
    BaseRpcResult<Void> dealAccount(DealAccountRequest request);

    /**
     * 用户注销(默认冻结)
     *
     * @param request
     * @return
     */
    BaseRpcResult<Void> accountCancellation(LogoutAccountRequest request);

    /**
     * 更新机构账户信息
     *
     * @param request
     * @return
     */
    BaseRpcResult<Boolean> updateOrgAccountInfo(UpdateOrgAccountRequest request);

    BaseRpcResult<Void> syncUserAccountBatch(List<SyncUserAccount> userAccounts);

}
